Conventionally, image forming apparatuses (e.g., printers and multifunction peripherals) that are connected to a network and receive an operation from a computer through the network are used. Some of the image forming apparatuses can extend PDLs (Page Description Languages) processible in the apparatus later to support a plurality of PDLs.
When a device serving as a peripheral device is connected to an information processing apparatus such as a host computer, the device can transmit device information containing the model name and manufacturer name to the information processing apparatus. Upon receiving the device information, the information processing apparatus can refer to the device ID in the device information and selectively install a device driver specified by the device ID. This technique is called “plug and play”.
Printer driver installation processing by general plug and play will be described with reference to FIG. 1A.
Referring to FIG. 1A, a general personal computer (PC) or workstation is used as a host computer, i.e., an example of an information processing apparatus 100. Assume that a plurality of driver sets 101 to 103 are stored in the information processing apparatus 100 in advance as drivers packaged in the operating system (OS) of the apparatus.
Each of the driver sets 101 to 103 includes an INF file 104 that describes unique information to be referred to in installing the driver, various kinds of execution modules 105, and resources 106. A device ID is described in the INF file 104. The device ID is formed from the value of an MFG tag as a manufacturer name and the value of an MDL tag as a product name in device information received upon plug and play.
The device ID is used as an identifier to make an image forming apparatus (printer) accurately correspond to a device driver at the time of installation. When the information processing apparatus 100 is connected to an image forming apparatus 107 through a communication medium 108 such as USB, the image forming apparatus 107 detects the connection. After detecting the connection, the image forming apparatus 107 transmits, to the information processing apparatus 100 through the communication medium 108, device information 109 defined by IEEE1284 and containing unique information of the image forming apparatus 107. The device information 109 defined by IEEE1284 contains pieces of information shown in FIG. 1B.
Upon receiving the device information 109, the OS in the information processing apparatus 100 reads out the CLS tag from the device information 109, detects that the target of plug and play is the image forming apparatus 107, and starts installing a corresponding driver set. The OS generates a device ID including the MFG tag and MDL tag in the device information 109 and searches for a driver set with the INF file 104 containing the device ID from the driver sets 101 to 103.
When the driver set corresponding to the device information 109 is found, the various kinds of execution modules 105 and resources 106 in the driver set are installed in the OS. The installed driver set is connected to a port of the communication medium 108 that has received the device information 109. If no corresponding driver set is present in the information processing apparatus 100, the processing is ended without installation.
The device information shown in FIG. 1B will be described.
The format of the device information shown in FIG. 1B includes a “tag” column representing tag names and a “value” column representing possible tag values. A CLS tag stores “PRINTER” as its value. The CLS tag stores the apparatus type as its value. In this case, this tag indicates that the connected peripheral device is an image forming apparatus.
An MFG tag stores “ABC” as its value. The MFG tag indicates the manufacturer name. That is, it indicates that ABC is the manufacturer. An MDL tag stores “LBP-XXX PDL1” as its value. The MDL tag indicates the model name and PDL type. In this case, this tag indicates that the model of the peripheral device is LBP-XXX, and the PDL type is PDL1.
A CMD tag stores “PDL1, IEEE1284” as its value. The value of the CMD tag includes the command and PDL name to be transmitted/received through the communication medium. In this case, this tag indicates that the peripheral device would transmit/receive a command group PDL1 as the PDL type by using IEEE1284 as the communication medium type.
In the information processing apparatus 100 that has received the device information 109 shown in FIG. 1B, the OS generates a device ID “ABC LBP-XXX PDL1” for the values of the MFG and MDL tags. A driver set is searched by using the device ID as a key.
Plug-and-play techniques using a local interface such as USB or a network interface such as LAN are also proposed. Examples are SOAP (Simple Object Access Protocol)-based Web service protocols called WS-Discovery and WS-MetadataExchange.
The information processing apparatus can detect the presence of a device on the network and acquire device information from the device by using these techniques. Hence, the driver of the device on the network can be installed by the same plug and play as in the local interface.
A technique of causing an optional device attached to a device to change the device ID to change its display in a printer driver on an information processing apparatus has already been proposed (Japanese Patent Laid-Open No. 2004-230823).
A technique of notifying an information processing apparatus of a device ID that changes in accordance with the change of an extension unit to extend the function of a printer device and causing the information processing apparatus to select a device driver corresponding to the device ID has also been proposed (Japanese Patent Laid-Open No. 9-267538).
On the other hand, the scale of a user's network environment can be various, i.e., either small or large. For example, in a relatively small-scale environment including one to several information processing apparatuses and image forming apparatuses on a network, each information processing apparatus is directly connected to an image forming apparatus to acquire information or send a print instruction, as shown in FIG. 2A. Such an environment is mainly used in, e.g., SOHO without a network administrator. The user-friendliness of an image forming apparatus is important.
However, in a large-scale environment where several ten to several hundred information processing apparatuses and image forming apparatuses are connected to a network, the apparatuses are generally divided into logical domains and managed, as shown in FIG. 2B, to distribute load and increase the management efficiency. A server apparatus is normally arranged in each domain.
“Server apparatus” is a general term for apparatuses that provide various services to each user. Detailed examples of the services are a domain controller to manage a domain, a print service to temporarily spool a print job and transmit it to an image forming apparatus, and a proxy service to virtually present a printer to a user.
For example, an integrated management technology named “Active Directory” is already released from Microsoft for such a large-scale environment and widely used. A large-scale environment normally has an administrator, and each user uses administrator's settings. For this reason, the administrator is required to use the complex functions of the image forming apparatus and appropriately provide each function to the user.
Hence, even in building a print environment by plug and play, functions required by the user or administrator change depending on the network environment.
However, the above-described conventional techniques cannot flexibly apply plug and play of printer drivers in accordance with the variety of user environments. Possible user environments where image forming apparatuses having a plurality of PDLs are installed are as follows. In a small-scale environment, only one printer driver is installed in an information processing apparatus so that the user can immediately print. In a large-scale environment, printer drivers for the plurality of PDLs are installed in a server apparatus so that the user can freely select one of them. In this case, the administrator must individually set operation modes in the image forming apparatuses in accordance with their environments, resulting in inconvenience. Additionally, in searching for an image forming apparatus on the network, ON/OFF of use of multicast cannot be switched automatically in accordance with scale of environment.